﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;

namespace IGolovkine.ShoutCastRipper.Service.Configuration
{
    public class FileCommandElement : ConfigurationElement
    {
        private const string FileNameTag = "fileName";
        private const string ArgumentsTag = "arguments";
        private const string WorkingDirectoryTag = "workingDirectory";
        private const string UserNameTag = "userName";
        private const string PasswordTag = "password";
        private const string DomainTag = "domain";

        [ConfigurationProperty(FileNameTag, IsRequired = true)]
        public string FileName
        {
            get { return (string)this[FileNameTag]; }
            set { this[FileNameTag] = value; }
        }
        
        [ConfigurationProperty(ArgumentsTag, IsRequired = false)]
        public string Arguments
        {
            get { return (string)this[ArgumentsTag]; }
            set { this[ArgumentsTag] = value; }
        }

        [ConfigurationProperty(WorkingDirectoryTag, IsRequired = false)]
        public string WorkingDirectory
        {
            get { return (string)this[WorkingDirectoryTag]; }
            set { this[WorkingDirectoryTag] = value; }
        }

        [ConfigurationProperty(UserNameTag, IsRequired = false)]
        public string UserName
        {
            get { return (string)this[UserNameTag]; }
            set { this[UserNameTag] = value; }
        }

        [ConfigurationProperty(PasswordTag, IsRequired = false)]
        public string Password
        {
            get { return (string) this[PasswordTag]; }
            set { this[PasswordTag] = value; }
        }

        [ConfigurationProperty(DomainTag, IsRequired = false)]
        public string Domain
        {
            get { return (string)this[DomainTag]; }
            set { this[DomainTag] = value; }
        }
    }
}
